const fs = require("fs");
const path = require("path");
const cron = require("node-cron");

const { prefix } = require("./config")

// 获取 public/sitemaps/ 下所有的站点地图文件路径
function getSitemapFiles() {
    const sitemapDir = path.join(process.cwd(), "public", "sitemaps");

    // 确保 public/sitemaps/ 目录存在
    if (!fs.existsSync(sitemapDir)) {
        console.log("⚠️ 目录不存在: public/sitemaps/");
        return [];
    }

    // 读取目录中的所有文件
    const files = fs.readdirSync(sitemapDir);
    // 只筛选出以 .xml 结尾的文件
    const sitemapFiles = files.filter(file => file.endsWith(".xml"));

    // 构建文件路径的完整 URL（假设你的站点地图文件会在 www.cz314.com/platform/xml/sitemaps/ 下）
    const filePaths = sitemapFiles.map(file => {
        return `${prefix}/sitemaps/${file}`;
    });

    return filePaths;
}

// 生成主站点地图的函数
function generateMainSitemap() {
    // 获取所有的站点地图文件路径
    const sitemapFiles = getSitemapFiles();

    if (sitemapFiles.length === 0) {
        console.log("⚠️ 没有找到站点地图文件");
        return;
    }

    // 获取当前时间，作为最后修改时间
    const lastModifiedTime = new Date().toISOString();

    // 创建主站点地图的 XML 内容
    const mainSitemapContent = `<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    ${sitemapFiles.map(filePath => `
    <sitemap>
        <loc>${filePath}</loc>
        <lastmod>${lastModifiedTime}</lastmod>
    </sitemap>`).join("\n")}
</sitemapindex>`;

    // 主站点地图保存路径（直接放在 public 目录下）
    const mainSitemapPath = path.join(process.cwd(), "public", "sitemap.xml");

    // 将主站点地图写入 `public/sitemap.xml`
    fs.writeFileSync(mainSitemapPath, mainSitemapContent);

    console.log("✅ 主站点地图生成完成: /public/sitemap.xml");
}


// 导出
module.exports = { generateMainSitemap };